home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / MATH / NRPAS13 / CHSONE.DEM < prev    next >
Text File  |  1991-04-29  |  1KB  |  53 lines

  1. PROGRAM d13r8(input,output);
  2. (* driver for routine CHSONE *)
  3. CONST
  4.    nbins=10;
  5.    npts=2000;
  6. TYPE
  7.    barray = ARRAY [0..nbins] OF real;
  8. VAR
  9.    glinext,glinextp : integer;
  10.    glma : ARRAY [1..55] OF real;
  11.    chsq,df,prob,x : real;
  12.    i,ibin,idum,j : integer;
  13.    bins,ebins : barray;
  14.  
  15. (*$I MODFILE.PAS *)
  16. (*$I GAMMLN.PAS *)
  17.  
  18. (*$I GCF.PAS *)
  19.  
  20. (*$I GSER.PAS *)
  21.  
  22. (*$I GAMMQ.PAS *)
  23.  
  24. (*$I RAN3.PAS *)
  25.  
  26. (*$I EXPDEV.PAS *)
  27.  
  28. (*$I CHSONE.PAS *)
  29.  
  30. BEGIN
  31.    idum := -15;
  32.    FOR j := 1 to nbins DO BEGIN
  33.       bins[j] := 0.0
  34.    END;
  35.    FOR i := 1 to npts DO BEGIN
  36.       x := expdev(idum);
  37.       ibin := trunc(x*nbins/3.0)+1;
  38.       IF (ibin <= nbins) THEN
  39.          bins[ibin] := bins[ibin]+1.0
  40.    END;
  41.    FOR i := 1 to nbins DO BEGIN
  42.       ebins[i] := 3.0*npts/nbins*exp(-3.0*(i-0.5)/nbins)
  43.    END;
  44.    chsone(bins,ebins,nbins,-1,df,chsq,prob);
  45.    writeln('expected':15,'observed':15);
  46.    FOR i := 1 to nbins DO BEGIN
  47.       writeln(ebins[i]:14:2,bins[i]:15:2)
  48.    END;
  49.    writeln;
  50.    writeln('chi-squared:':19,chsq:10:4);
  51.    writeln('probability:':19,prob:10:4)
  52. END.
  53.